package com.quanxiaoha.weblog.common.utils;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * JSON 工具类
 */
public class JsonUtil {
    private static final ObjectMapper INSTANCE = new ObjectMapper();

    /**
     * 将对象转换为JSON字符串 如果对象无法直接转换为JSON字符串，则返回对象的字符串表示形式
     *
     * @param obj 待转换的对象
     * @return 转换后的JSON字符串或对象的字符串表示形式
     */
    public static String toJsonString(Object obj) {
        try {
            // 使用Jackson库将对象转换为JSON字符串
            return INSTANCE.writeValueAsString(obj);
        } catch (JsonProcessingException e) {
            // 如果转换失败，则返回对象的字符串表示形式
            return obj.toString();
        }
    }
}
